package zfbrouter

import (
	"github.com/gin-gonic/gin"
	"yundian/internel/app/handlers/alipay"
	"yundian/internel/app/middlewares"
	"yundian/internel/pkg/dingo"
)

func InitZfbRouter() dingo.ApiRouter {
	return func(g *gin.RouterGroup) {
		a := g.Group("auth")
		a.POST("authToken", alipay.HandlerAliPayLogin)             // 小程序授权登录
		a.POST("app-login", alipay.HandlerAliPayLogin)             // APP授权登录
		a.POST("app-login-sing", alipay.HandlerAliPayLoginSing)    // APP授权登录 生成签名
		a.POST("app-accounts-login", alipay.HandlerAppAliPayLogin) // APP帐号登录 临时测试

		g.GET("alipay/dev-info", alipay.GetDevInfo) // 获取设备详情

		r := g.Group("alipay")

		//资金授权解冻接口
		r.POST("orderUnfreeze", alipay.OrderUnfreeze)
		//订单信息同步
		r.POST("orderInfoSync", alipay.OrderInfoSync)
		//资金授权操作查询接口
		r.POST("fundAuthOperationDetailQuery", alipay.FundAuthOperationDetailQuery)

		r.POST("get-place-nearby-list", alipay.GetPlaceNearbyList) // 查询附近门店列表

		r.Use(middlewares.JwtZfbAuthMiddleware) // 加载中间件 - 授权需要登录

		r.POST("get-price-detail", alipay.HandleGetPriceDetail) //获取价格详情

		// order
		r.POST("get-auto-order-list", alipay.GetAutoOrderList) // 会员自动续费订单列表
		r.GET("orders", alipay.GetOrderList)                   // 订单列表
		r.POST("end-orders", alipay.HandleAliPayEndOrder)      // 结束订单
		r.GET("order-detail", alipay.GetOrderDetail)
		r.POST("order-check", alipay.HandleCheckOrderStatus)          // 检验订单状态
		r.POST("order-check-user", alipay.HandleCheckUserOrderStatus) //检验用户是否存在未使用的订单

		// device
		r.POST("dev-password", alipay.GetDevicePassword)                       // 设备密码
		r.POST("reset-dev-password", alipay.ResetDevPassword)                  // 设备密码
		r.POST("monthly-dev-password", alipay.GetMonthlyDevicePassword)        // 包月会员获取设备密码
		r.POST("monthly-dev-password-tem", alipay.GetMonthlyDevicePasswordTem) // 包月会员获取设备密码 未完成签约

		r.POST("dev-usetime", alipay.GetDeviceUseTime) // 二次扫描获取使用时长，密码

		// upload
		r.POST("upload", alipay.UploadImage)
		r.POST("ali-upload", alipay.AliOssUploadImage)

		// report post 故障申报
		r.POST("report", alipay.HandleAliPayInsertReport)

		r.POST("tradeCreate", alipay.TradeCreate)                      // 支付宝小程序 统一收单交易创建接口
		r.POST("app-tradeCreate", alipay.AppTradeCreate)               // APP 调用支付宝统一收单交易创建接口
		r.POST("user-agreement-sign", alipay.UserAgreementSign)        // 用户周期扣款签约
		r.POST("get-user-agreement-sign", alipay.GetUserAgreementSign) // 查询用户周期扣款签约

		// 获取体验价格
		r.GET("get-price", alipay.HandleGetFeelPrice)
	}
}
